Eine Abfragesprache (engl. query language) ermöglicht dem Endbenutzer oder Entwickler die Suche in Datenbanken. Abfragesprachen lassen sich nach Formalisierungsgrad und Prozeduralität einteilen:
Natürlichsprachliche Abfragesprachen sind auf den ersten Blick ideal. Ihre Syntax ist natürlich und die Reihenfolge der Anweisungen an das Datenbanksystem spielt keine Rolle. Die Implementierung eines natürlichsprachlichen Abfrage-Frontends ist aber schwierig. Das Abfragevokabular wird sich auf eine kleine und spezialisierte Teilmenge der Umgangssprache beschränken müssen. Jede neue Datenbank wird aber eine Anpassung des Sprachumfangs nach sich ziehen, und die Grammatik der Abfragesprache wird sich nur unvollständig an jene der Umgangsprache und ihrer Varianten anlehnen können. Die Regel sind deshalb formalsprachliche Abfragesprachen wie QBE und SQL oder benutzerfreundliche Formularsprachen.
Prozedurale Abfragesprachen verlangen, dass die Benutzerin programmiersprachliche Anweisungen in der richtigen Reihenfolge eingibt. Oft manipulieren die Anweisungen einer prozeduralen Sprache nur einzelne Sätze von Tabellen. Man nennt Sie deshalb satzorientiert. Der Entwickler ist oft gezwungen, eine mehrere Einzelanweisungen in der richtigen Reihenfolge zu kombinieren. Typisch für prozedurale Abfragesprachen sind deshalb Steueranweisungen (Wiederholungs- und Entscheidungsanweisungen). Beispiele prozeduraler Abfragesprachen sind die Befehlssprachen von dBASE und Visual Basic für Applikationen (VBA).
Deklarative Abfragesprachen erlauben hingegen die Formulierung einer komplexen Abfrage in einer einzigen Anweisung. Innerhalb der Anweisung mag die Reihenfolge zwar von Bedeutung sein. Anders als in einer prozeduralen Formulierung müssen aber nicht mehrere satzorientierte Anweisungen in der richtigen Reihenfolge kombiniert werden. Man bezeichnet deklarative Abfragesprachen deshalb auch als mengenorientiert (statt satzorientiert).
Die bekannteste deklarative Abfragesprache ist SQL. Weil ihre Syntax aber benutzerunfreundlich ist, bieten viele Datenbanksysteme auch QBE (engl. Query By Example) an. Dies ist eine benutzerfreundliche deklarative Abfragesprache für relationale Datenbanken. Die Benutzerin markiert die gewünschten Ergebnisspalten in Tabellengerüsten und trägt die Kriterien für die Auswahl der Zeilen ein.
Wenn Sie die QBE-Abfragen Ihrer Beispielanwendung anschauen wollen, dann drücken Sie »F11, damit Sie ins Datenbankfenster kommen. Dort wählen Sie die Schaltfläche Abfragen und gelangen nach einem Rechtsklick auf die gewünschte Abfrage und mit einem weiteren Klick auf Entwurfsansicht zur Definition der Abfrage.